#include <Arduino.h>
String recvBuffer = "";       // 接收缓冲区
const char endChar = '\n';    // 完整文本结束标记（换行符）
const long BAUD_RATE = 9600;  // 固定波特率

void setup() {
  // 硬件串口（接BT04-A）：若用软件串口，替换为 BTSerial.begin(9600);
  Serial.begin(BAUD_RATE);
  // 初始化提示（GBK编码兼容）
  Serial.println("BT04-A 中文通信就绪（GBK编码）...");
}

void loop() {
  // 读取串口数据（硬件串口：Serial；软件串口：BTSerial）
  while (Serial.available() > 0) {
    char c = Serial.read(); // 读取单个字符
    
    // 1. 遇到结束标记（换行符），处理完整文本
    if (c == endChar) {
      // 确保缓冲区非空（避免空文本）
      if (recvBuffer.length() > 0) {
        // 处理完整文本
        processReceivedText(recvBuffer);
        // 清空缓冲区，准备接收下一段文本
        recvBuffer = "";
      }
    } 
    // 2. 未到结束标记，将字符加入缓冲区（过滤回车符\r，避免干扰）
    else if (c != '\r') {
      recvBuffer += c;
    }
  }
}

// 处理完整接收的文本（核心逻辑）
void processReceivedText(String text) {
  if (text == "A") {
    Serial.println("好好学习");
  } else if (text == "B") {
    Serial.println("天天向上");
  }else if (text == "测试") {
    Serial.println("测试成功！");
  } else {
    Serial.println(text);
  }
}